@@ -27,9 +27,9 @@ There is an exported docker volume of /var/lib/mysql to allow persistence of tha |
||
| 27 | 27 |
|
| 28 | 28 |
Additionally, the database variables may be overridden from the above as per the standard Huginn documentation: |
| 29 | 29 |
|
| 30 |
- DATABASE_ADAPTER #(must be either 'postgres' or 'mysql2') |
|
| 31 |
- DATABASE_HOST |
|
| 32 |
- DATABASE_PORT |
|
| 30 |
+ HUGINN_DATABASE_ADAPTER #(must be either 'postgres' or 'mysql2') |
|
| 31 |
+ HUGINN_DATABASE_HOST |
|
| 32 |
+ HUGINN_DATABASE_PORT |
|
| 33 | 33 |
|
| 34 | 34 |
This script will run database migrations (rake db:migrate) which should be idempotent. |
| 35 | 35 |
|
@@ -52,15 +52,15 @@ Simple stand-alone usage: |
||
| 52 | 52 |
To link to another mysql container, for example: |
| 53 | 53 |
|
| 54 | 54 |
docker run --rm --name newcentury_mysql -p 3306 \ |
| 55 |
- -e MYSQL_DATABASE=huginn \ |
|
| 56 |
- -e MYSQL_USER=huginn \ |
|
| 57 |
- -e MYSQL_PASSWORD=somethingsecret \ |
|
| 58 |
- -e MYSQL_ROOT_PASSWORD=somethingevenmoresecret \ |
|
| 55 |
+ -e HUGINN_MYSQL_DATABASE=huginn \ |
|
| 56 |
+ -e HUGINN_MYSQL_USER=huginn \ |
|
| 57 |
+ -e HUGINN_MYSQL_PASSWORD=somethingsecret \ |
|
| 58 |
+ -e HUGINN_MYSQL_ROOT_PASSWORD=somethingevenmoresecret \ |
|
| 59 | 59 |
cantino/huginn |
| 60 | 60 |
docker run --rm --name huginn --link newcentury_mysql:MYSQL -p 5000:5000 \ |
| 61 |
- -e DATABASE_NAME=huginn \ |
|
| 62 |
- -e DATABASE_USER=huginn \ |
|
| 63 |
- -e DATABASE_PASSWORD=somethingsecret \ |
|
| 61 |
+ -e HUGINN_DATABASE_NAME=huginn \ |
|
| 62 |
+ -e HUGINN_DATABASE_USER=huginn \ |
|
| 63 |
+ -e HUGINN_DATABASE_PASSWORD=somethingsecret \ |
|
| 64 | 64 |
cantino/huginn |
| 65 | 65 |
|
| 66 | 66 |
To link to another container named 'postgres': |
@@ -69,45 +69,58 @@ To link to another container named 'postgres': |
||
| 69 | 69 |
|
| 70 | 70 |
## Environment Variables |
| 71 | 71 |
|
| 72 |
-Other Huginn 12factored environment variables of note, as generated and put into the .env file as per Huginn documentation: |
|
| 73 |
- |
|
| 74 |
- APP_SECRET_TOKEN=${APP_SECRET_TOKEN:-CHANGEME}
|
|
| 75 |
- DOMAIN=${HUGINN_HOST:-localhost}:${PORT:-5000}
|
|
| 76 |
- ${ASSET_HOST:+ASSET_HOST=${ASSET_HOST}}
|
|
| 77 |
- DATABASE_ADAPTER=${DATABASE_ADAPTER:-mysql2}
|
|
| 78 |
- DATABASE_ENCODING=${DATABASE_ENCODING:-utf8}
|
|
| 79 |
- DATABASE_RECONNECT=${DATABASE_RECONNECT:-true}
|
|
| 80 |
- DATABASE_NAME=${DATABASE_NAME:-huginn}
|
|
| 81 |
- DATABASE_POOL=${DATABASE_POOL:-5}
|
|
| 82 |
- DATABASE_USERNAME=${DATABASE_USERNAME:-root}
|
|
| 83 |
- DATABASE_PASSWORD="${DATABASE_PASSWORD}"
|
|
| 84 |
- DATABASE_PORT=${DATABASE_PORT:-3306}
|
|
| 85 |
- DATABASE_HOST=${DATABASE_HOST:-localhost}
|
|
| 86 |
- DATABASE_PORT=${DATABASE_PORT:-3306}
|
|
| 87 |
- ${DATABASE_SOCKET:+DATABASE_SOCKET=${DATABASE_SOCKET:-/tmp/mysql.sock}}
|
|
| 88 |
- ${RAILS_ENV:+RAILS_ENV=${RAILS_ENV:-production}}
|
|
| 89 |
- FORCE_SSL=${FORCE_SSL:-false}
|
|
| 90 |
- INVITATION_CODE=${INVITATION_CODE:-try-huginn}
|
|
| 91 |
- SMTP_DOMAIN=${SMTP_DOMAIM=-example.com}
|
|
| 92 |
- SMTP_USER_NAME=${SMTP_USER_NAME:-you@gmail.com}
|
|
| 93 |
- SMTP_PASSWORD=${SMTP_PASSWORD:-somepassword}
|
|
| 94 |
- SMTP_SERVER=${SMTP_SERVER:-smtp.gmail.com}
|
|
| 95 |
- SMTP_PORT=${SMTP_PORT:-587}
|
|
| 96 |
- SMTP_AUTHENTICATION=${SMTP_AUTHENTICATION:-plain}
|
|
| 97 |
- SMTP_ENABLE_STARTTLS_AUTO=${SMTP_ENABLE_STARTTLS_AUTO:-true}
|
|
| 98 |
- EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS:-huginn@example.com}
|
|
| 99 |
- AGENT_LOG_LENGTH=${AGENT_LOG_LENGTH:-200}
|
|
| 100 |
- AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID:-your aws access key id}"
|
|
| 101 |
- AWS_ACCESS_KEY="${AWS_ACCESS_KEY:-your aws access key}"
|
|
| 102 |
- AWS_SANDBOX=${AWS_SANDBOX:-false}
|
|
| 103 |
- FARADAY_HTTP_BACKEND=${FARADAY_HTTP_BACKEND:-typhoeus}
|
|
| 104 |
- DEFAULT_HTTP_USER_AGENT="${DEFAULT_HTTP_USER_AGENT:-Huginn - https://github.com/cantino/huginn}"
|
|
| 105 |
- ALLOW_JSONPATH_EVAL=${ALLOW_JSONPATH_EVAL:-false}
|
|
| 106 |
- ENABLE_INSECURE_AGENTS=${ENABLE_INSECURE_AGENTS:-false}
|
|
| 107 |
- ${USE_GRAPHVIZ_DOT:+USE_GRAPHVIZ_DOT=${USE_GRAPHVIZ_DOT:-dot}}
|
|
| 108 |
- TIMEZONE="${TIMEZONE:-Pacific Time (US & Canada)}"
|
|
| 109 |
- |
|
| 110 |
-The defaults used are the Huginn defaults as per the [.env.example](https://github.com/cantino/huginn/blob/master/.env.example) file. |
|
| 72 |
+Other Huginn 12factored environment variables of note, as generated and put into the .env file as per Huginn documentation, |
|
| 73 |
+with an additional `HUGINN_` prefix to the variable. |
|
| 74 |
+ |
|
| 75 |
+These are: |
|
| 76 |
+ |
|
| 77 |
+ HUGINN_APP_SECRET_TOKEN |
|
| 78 |
+ HUGINN_DOMAIN |
|
| 79 |
+ HUGINN_ASSET_HOST |
|
| 80 |
+ HUGINN_DATABASE_ADAPTER |
|
| 81 |
+ HUGINN_DATABASE_ENCODING |
|
| 82 |
+ HUGINN_DATABASE_RECONNECT |
|
| 83 |
+ HUGINN_DATABASE_NAME |
|
| 84 |
+ HUGINN_DATABASE_POOL |
|
| 85 |
+ HUGINN_DATABASE_USERNAME |
|
| 86 |
+ HUGINN_DATABASE_PASSWORD |
|
| 87 |
+ HUGINN_DATABASE_HOST |
|
| 88 |
+ HUGINN_DATABASE_PORT |
|
| 89 |
+ HUGINN_DATABASE_SOCKET |
|
| 90 |
+ HUGINN_RAILS_ENV |
|
| 91 |
+ HUGINN_FORCE_SSL |
|
| 92 |
+ HUGINN_INVITATION_CODE |
|
| 93 |
+ HUGINN_SMTP_DOMAIM |
|
| 94 |
+ HUGINN_SMTP_USER_NAME |
|
| 95 |
+ HUGINN_SMTP_PASSWORD |
|
| 96 |
+ HUGINN_SMTP_SERVER |
|
| 97 |
+ HUGINN_SMTP_PORT |
|
| 98 |
+ HUGINN_SMTP_AUTHENTICATION |
|
| 99 |
+ HUGINN_SMTP_ENABLE_STARTTLS_AUTO |
|
| 100 |
+ HUGINN_EMAIL_FROM_ADDRESS |
|
| 101 |
+ HUGINN_AGENT_LOG_LENGTH |
|
| 102 |
+ HUGINN_TWITTER_OAUTH_KEY |
|
| 103 |
+ HUGINN_TWITTER_OAUTH_SECRET |
|
| 104 |
+ HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_KEY |
|
| 105 |
+ HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_SECRET |
|
| 106 |
+ HUGINN_GITHUB_OAUTH_KEY |
|
| 107 |
+ HUGINN_GITHUB_OAUTH_SECRET |
|
| 108 |
+ HUGINN_AWS_ACCESS_KEY_ID |
|
| 109 |
+ HUGINN_AWS_ACCESS_KEY |
|
| 110 |
+ HUGINN_AWS_SANDBOX |
|
| 111 |
+ HUGINN_FARADAY_HTTP_BACKEND |
|
| 112 |
+ HUGINN_DEFAULT_HTTP_USER_AGENT |
|
| 113 |
+ HUGINN_ALLOW_JSONPATH_EVAL |
|
| 114 |
+ HUGINN_ENABLE_INSECURE_AGENTS |
|
| 115 |
+ HUGGIN_ENABLE_SECOND_PRECISION_SCHEDULE |
|
| 116 |
+ HUGINN_USE_GRAPHVIZ_DOT |
|
| 117 |
+ HUGINN_TIMEZONE |
|
| 118 |
+ HUGGIN_FAILED_JOBS_TO_KEEP |
|
| 119 |
+ |
|
| 120 |
+ |
|
| 121 |
+The above environment variables will override the defaults. The defaults are read from the [.env.example](https://github.com/cantino/huginn/blob/master/.env.example) file. |
|
| 122 |
+ |
|
| 123 |
+For variables in the .env.example that are commented out, the default is to not include that variable in the generated .env file. |
|
| 111 | 124 |
|
| 112 | 125 |
## Building on your own |
| 113 | 126 |
|
@@ -3,6 +3,9 @@ set -e |
||
| 3 | 3 |
|
| 4 | 4 |
cd /app |
| 5 | 5 |
|
| 6 |
+# Default to the environment variable values set in .env.example |
|
| 7 |
+source /app/.env.example |
|
| 8 |
+ |
|
| 6 | 9 |
# is a mysql or postgresql database linked? |
| 7 | 10 |
# requires that the mysql or postgresql containers have exposed |
| 8 | 11 |
# port 3306 and 5432 respectively. |
@@ -17,41 +20,48 @@ elif [ -n "${POSTGRESQL_PORT_5432_TCP_ADDR}" ]; then
|
||
| 17 | 20 |
fi |
| 18 | 21 |
|
| 19 | 22 |
cat <<EOF > /app/.env |
| 20 |
-APP_SECRET_TOKEN=${APP_SECRET_TOKEN:-CHANGEME}
|
|
| 21 |
-DOMAIN=${DOMAIN:+${HUGINN_HOST:-localhost}:${PORT:-5000}}
|
|
| 22 |
-${ASSET_HOST:+ASSET_HOST=${ASSET_HOST}}
|
|
| 23 |
-DATABASE_ADAPTER=${DATABASE_ADAPTER:-mysql2}
|
|
| 24 |
-DATABASE_ENCODING=${DATABASE_ENCODING:-utf8}
|
|
| 25 |
-DATABASE_RECONNECT=${DATABASE_RECONNECT:-true}
|
|
| 26 |
-DATABASE_NAME=${DATABASE_NAME:-huginn}
|
|
| 27 |
-DATABASE_POOL=${DATABASE_POOL:-5}
|
|
| 28 |
-DATABASE_USERNAME=${DATABASE_USERNAME:-root}
|
|
| 29 |
-DATABASE_PASSWORD="${DATABASE_PASSWORD}"
|
|
| 30 |
-DATABASE_PORT=${DATABASE_PORT:-3306}
|
|
| 31 |
-DATABASE_HOST=${DATABASE_HOST:-localhost}
|
|
| 32 |
-DATABASE_PORT=${DATABASE_PORT:-3306}
|
|
| 33 |
-${DATABASE_SOCKET:+DATABASE_SOCKET=${DATABASE_SOCKET:-/tmp/mysql.sock}}
|
|
| 34 |
-${RAILS_ENV:+RAILS_ENV=${RAILS_ENV:-production}}
|
|
| 35 |
-FORCE_SSL=${FORCE_SSL:-false}
|
|
| 36 |
-INVITATION_CODE=${INVITATION_CODE:-try-huginn}
|
|
| 37 |
-SMTP_DOMAIN=${SMTP_DOMAIM=-example.com}
|
|
| 38 |
-SMTP_USER_NAME=${SMTP_USER_NAME:-you@gmail.com}
|
|
| 39 |
-SMTP_PASSWORD=${SMTP_PASSWORD:-somepassword}
|
|
| 40 |
-SMTP_SERVER=${SMTP_SERVER:-smtp.gmail.com}
|
|
| 41 |
-SMTP_PORT=${SMTP_PORT:-587}
|
|
| 42 |
-SMTP_AUTHENTICATION=${SMTP_AUTHENTICATION:-plain}
|
|
| 43 |
-SMTP_ENABLE_STARTTLS_AUTO=${SMTP_ENABLE_STARTTLS_AUTO:-true}
|
|
| 44 |
-EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS:-huginn@example.com}
|
|
| 45 |
-AGENT_LOG_LENGTH=${AGENT_LOG_LENGTH:-200}
|
|
| 46 |
-AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID:-your aws access key id}"
|
|
| 47 |
-AWS_ACCESS_KEY="${AWS_ACCESS_KEY:-your aws access key}"
|
|
| 48 |
-AWS_SANDBOX=${AWS_SANDBOX:-false}
|
|
| 49 |
-FARADAY_HTTP_BACKEND=${FARADAY_HTTP_BACKEND:-typhoeus}
|
|
| 50 |
-DEFAULT_HTTP_USER_AGENT="${DEFAULT_HTTP_USER_AGENT:-Huginn - https://github.com/cantino/huginn}"
|
|
| 51 |
-ALLOW_JSONPATH_EVAL=${ALLOW_JSONPATH_EVAL:-false}
|
|
| 52 |
-ENABLE_INSECURE_AGENTS=${ENABLE_INSECURE_AGENTS:-false}
|
|
| 53 |
-${USE_GRAPHVIZ_DOT:+USE_GRAPHVIZ_DOT=${USE_GRAPHVIZ_DOT:-dot}}
|
|
| 54 |
-TIMEZONE="${TIMEZONE:-Pacific Time (US & Canada)}"
|
|
| 23 |
+APP_SECRET_TOKEN=${HUGINN_APP_SECRET_TOKEN:-$APP_SECRET_TOKEN}
|
|
| 24 |
+DOMAIN=${HUGINN_DOMAIN:-$DOMAIN}
|
|
| 25 |
+${ASSET_HOST:+ASSET_HOST=${HUGINN_ASSET_HOST:-$ASSET_HOST}}
|
|
| 26 |
+DATABASE_ADAPTER=${HUGINN_DATABASE_ADAPTER:-$DATABASE_ADAPTER}
|
|
| 27 |
+DATABASE_ENCODING=${HUGINN_DATABASE_ENCODING:-$DATABASE_ENCODING}
|
|
| 28 |
+DATABASE_RECONNECT=${HUGINN_DATABASE_RECONNECT:-$DATABASE_RECONNECT}
|
|
| 29 |
+DATABASE_NAME=${HUGINN_DATABASE_NAME:-$DATABASE_NAME}
|
|
| 30 |
+DATABASE_POOL=${HUGINN_DATABASE_POOL:-$DATABASE_POOL}
|
|
| 31 |
+DATABASE_USERNAME=${HUGINN_DATABASE_USERNAME:-$DATABASE_USERNAME}
|
|
| 32 |
+DATABASE_PASSWORD="${HUGINN_DATABASE_PASSWORD:-$DATABASE_PASSWORD}"
|
|
| 33 |
+DATABASE_HOST=${HUGINN_DATABASE_HOST:-${DATABASE_HOST:-localhost}}
|
|
| 34 |
+DATABASE_PORT=${HUGINN_DATABASE_PORT:-${DATABASE_PORT:-3306}}
|
|
| 35 |
+${HUGINN_DATABASE_SOCKET:+DATABASE_SOCKET=${HUGINN_DATABASE_SOCKET}}
|
|
| 36 |
+${HUGINN_RAILS_ENV:+RAILS_ENV=${HUGINN_RAILS_ENV}}
|
|
| 37 |
+FORCE_SSL=${HUGINN_FORCE_SSL:-$FORCE_SSL}
|
|
| 38 |
+INVITATION_CODE=${HUGINN_INVITATION_CODE:-$INVITATION_CODE}
|
|
| 39 |
+SMTP_DOMAIN=${HUGINN_SMTP_DOMAIM:-$SMTP_DOMAIN}
|
|
| 40 |
+SMTP_USER_NAME=${HUGINN_SMTP_USER_NAME:-$SMTP_USER_NAME}
|
|
| 41 |
+SMTP_PASSWORD=${HUGINN_SMTP_PASSWORD:-$SMTP_PASSWORD}
|
|
| 42 |
+SMTP_SERVER=${HUGINN_SMTP_SERVER:-$SMTP_SERVER}
|
|
| 43 |
+SMTP_PORT=${HUGINN_SMTP_PORT:-$SMTP_PORT}
|
|
| 44 |
+SMTP_AUTHENTICATION=${HUGINN_SMTP_AUTHENTICATION:-$SMTP_AUTHENTICATION}
|
|
| 45 |
+SMTP_ENABLE_STARTTLS_AUTO=${HUGINN_SMTP_ENABLE_STARTTLS_AUTO:-$SMTP_ENABLE_STARTTLS_AUTO}
|
|
| 46 |
+EMAIL_FROM_ADDRESS=${HUGINN_EMAIL_FROM_ADDRESS:-$EMAIL_FROM_ADDRESS}
|
|
| 47 |
+AGENT_LOG_LENGTH=${HUGINN_AGENT_LOG_LENGTH:-$AGENT_LOG_LENGTH}
|
|
| 48 |
+TWITTER_OAUTH_KEY=${HUGINN_TWITTER_OAUTH_KEY:-$TWITTER_OAUTH_KEY}
|
|
| 49 |
+TWITTER_OAUTH_SECRET=${HUGINN_TWITTER_OAUTH_SECRET:-$TWITTER_OAUTH_SECRET}
|
|
| 50 |
+THIRTY_SEVEN_SIGNALS_OAUTH_KEY=${HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_KEY:-$THIRTY_SEVEN_SIGNALS_OAUTH_KEY}
|
|
| 51 |
+THIRTY_SEVEN_SIGNALS_OAUTH_SECRET=${HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_SECRET:-$THIRTY_SEVEN_SIGNALS_OAUTH_SECRET}
|
|
| 52 |
+GITHUB_OAUTH_KEY=${HUGINN_GITHUB_OAUTH_KEY:-$GITHUB_OAUTH_KEY}
|
|
| 53 |
+GITHUB_OAUTH_SECRET=${HUGINN_GITHUB_OAUTH_SECRET:-$GITHUB_OAUTH_SECRET}
|
|
| 54 |
+AWS_ACCESS_KEY_ID="${HUGINN_AWS_ACCESS_KEY_ID:-$AWS_ACCESS_KEY_ID}"
|
|
| 55 |
+AWS_ACCESS_KEY="${HUGINN_AWS_ACCESS_KEY:-$AWS_ACCESS_KEY}"
|
|
| 56 |
+AWS_SANDBOX=${HUGINN_AWS_SANDBOX:-$AWS_SANDBOX}
|
|
| 57 |
+FARADAY_HTTP_BACKEND=${HUGINN_FARADAY_HTTP_BACKEND:-$FARADAY_HTTP_BACKEND}
|
|
| 58 |
+DEFAULT_HTTP_USER_AGENT=${HUGINN_DEFAULT_HTTP_USER_AGENT:-$DEFAULT_HTTP_USER_AGENT}
|
|
| 59 |
+ALLOW_JSONPATH_EVAL=${HUGINN_ALLOW_JSONPATH_EVAL:-$ALLOW_JSONPATH_EVAL}
|
|
| 60 |
+ENABLE_INSECURE_AGENTS=${HUGINN_ENABLE_INSECURE_AGENTS:-$HUGINN_ENABLE_INSECURE_AGENTS}
|
|
| 61 |
+ENABLE_SECOND_PRECISION_SCHEDULE=${HUGGIN_ENABLE_SECOND_PRECISION_SCHEDULE:-$ENABLE_SECOND_PRECISION_SCHEDULE}
|
|
| 62 |
+${HUGINN_USE_GRAPHVIZ_DOT:+USE_GRAPHVIZ_DOT=${HUGINN_USE_GRAPHVIZ_DOT}}
|
|
| 63 |
+TIMEZONE="${HUGINN_TIMEZONE:-$TIMEZONE}"
|
|
| 64 |
+FAILED_JOBS_TO_KEEP=${HUGGIN_FAILED_JOBS_TO_KEEP:-$FAILED_JOBS_TO_KEEP}
|
|
| 55 | 65 |
EOF |
| 56 | 66 |
chmod ugo+r /app/.env |
| 57 | 67 |
source /app/.env |